<?php
/* Защитим файл от прямого доступа */
defined('_JEXEC') or die('Restricted access');

/* Теперь создадим класс с названием, которое записали в файле mod_название модуля.php
   (в примере оно было записано так: ModJnameclassHelper) */

class ModJspectacleHelper
{
  /* Теперь запишем основную функцию с названием, которое задали в файле mod_название модуля.php (в примере оно было записано так: getNamefunction($params))*/
  function getSpectacle ($params)
  {
    /* Тело функции, любой код и все, что необходимо пишем здесь.
       Для того чтобы обратиться к параметру функции (в нашем случае $params), нужно записать такую команду:
       $params->get('имя параметра'). Такая запись будет иметь значение параметра которое задано в настройке
       (администрировании) модуля под соответствующим именем.
       О том какие глобальные параметры еще могут передаваться в модуле поговорим в другой статье, сейчас
       объясняю только механизм работы.

       Главное, что нужно не забыть это в конце функции вернуть нужное значение или массив данных или просто true или false.

       Все условия и обработка должны находиться в теле этой функции.
       Можно создавать дополнительные функции как в теле этой так и вне ее и класса, но результат
       для передачи в Вид, должен находиться в теле этой функции*/

    /* Массив месяцев в родительном падеже для формирования даты */
    $months = array (1 => 'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля',
                     5 => 'мая', 6 => 'июня', 7 => 'июля', 8 => 'августа',
                     9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря');

    $db =& JFactory::getDBO();
/* #__jcalpro2_events */
    $sql = "SELECT title, description, short_description, contact, cat, day, month, year, start_date, published ".
           "FROM #__jcalpro2_events WHERE start_date >= NOW() AND published ORDER BY start_date LIMIT 0, 1";
    $db->setQuery($sql);
    $rows = $db->loadObjectList();
    /* Загоняем всё в возвращаемый массив.
       Порядок параметров в default.php: 0: $date, 1: $spectacle, 2: $picture, 3: $city, 4: $address, 5: $link */
    if($rows) {
      foreach ($rows as $row) {
        $view[0] = $row->day." ".$months[$row->month]." ".$row->year;
        $view[1] = $row->title;
        $desc = $row->description;
        $pos1 = strpos ($desc, 'title=');
        $pos2 = strpos ($desc, '/>');
        $view[2] = "<img ".substr ($desc, $pos1, $pos2 -$pos1 + 2);
        $view[3] = $row->short_description;
      }
    } else {
      $view[1] = "#NOTDEFINED";
    }
    return $view;
  }
}
?>
